home *** CD-ROM | disk | FTP | other *** search
- property memberPrim, memberUlt -- Cast members que serao animados
- property memPrim, memQuantos -- Membros: em numero
- property espera -- Tempo de espera entre cada mudanca (em ticks)
- property aleatorio -- True para mudanca aleatoria
- property ultimaTroca -- Hora em que foi feita ultima troca
- property fotoAtual
- property spr
-
- on getBehaviorDescription
- return "Anima sprites"
- end
-
- on getPropertyDescriptionList
- set p_list = [ ¬
- #memberPrim: [ #comment: "Primeiro membro da animacao", ¬
- #format: #string, ¬
- #default: "" ], ¬
- #memberUlt: [ #comment: "Ultimo membro da animacao", ¬
- #format: #string, ¬
- #default: "" ], ¬
- #espera: [ #comment: "Espera entre cada troca em 1/60s (velocidade)",¬
- #format: #integer,¬
- #default: 60 ],¬
- #aleatorio: [ #comment: "Animacao randomica",¬
- #format: #boolean,¬
- #default: false ]¬
- ]
- return p_list
- end
-
- on beginSprite me
- set spr = the spriteNum of me
- muda me
- end
-
- on muda me
- global gVerbeteTipo
- case gVerbeteTipo of
- 0:
- set memberPrim = "TipoBasico1"
- set memberUlt = "TipoBasico8"
- 1:
- set memberPrim = "TipoEquipes1"
- set memberUlt = "TipoEquipes8"
- 2:
- set memberPrim = "TipoAstros1"
- set memberUlt = "TipoAstros6"
- end case
- set memPrim to the number of member memberPrim
- set memQuantos to (the number of member memberUlt) - memPrim + 1
- put 0 into fotoAtual
- set the member of sprite spr to memPrim
- end
-
- on cleanSprite me
- puppetSprite (the spriteNum of me),false
- end
-
- on idleSprite me
- global gMustUpdate
-
- -- Testa se ja e' hora de trocar figura
- if (the timer - ultimaTroca) > espera then
-
- -- Descobre qual a proxima figura a trocar
- if (aleatorio) then
- put random(memQuantos - 1) - 1 into tmp
- if tmp >= fotoAtual then put 1 + tmp into tmp
- put tmp into fotoAtual
- else
- put fotoAtual + 1 into fotoAtual
- if fotoAtual >= memQuantos then put 0 into fotoAtual
- end if
-
- -- Muda figura e updateStage
- set the member of sprite (the spriteNum of me) to memPrim + fotoAtual
- set gMustUpdate to true
- put the timer into ultimaTroca
- end if
- end